package cn.csg.ams.collect2.poptopics.dao;

import cn.csg.ams.collect2.poptopics.entity.ao.MkPrPfOutageLinkDataStatAO;
import cn.csg.ams.collect2.poptopics.entity.bo.MkPrPfOutageLinkDataStatBO;
import cn.csg.ams.collect2.poptopics.entity.vo.MkPrPfOutageLinkDataStatVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: zhanggang
 * @ClassName: MkPrPfOutageLinkDataStatDao
 * @date: 2023-12-18 10:13:46
 * @Description: 全链路数据量统计(mk_pr_pf_outage_link_data_stat)表数据库访问层
 */
public interface MkPrPfOutageLinkDataStatDao extends BaseMapper<MkPrPfOutageLinkDataStatBO> {

    /**
     * @Title:getMkPrPfOutageLinkDataStatById
     * @Description:通过ID查询单条数据
     * @date: 2023-12-18 10:13:46
     * @params: statDate 主键
     * @return：MkPrPfOutageLinkDataStatVO
     * @throw：
     */
    MkPrPfOutageLinkDataStatVO getMkPrPfOutageLinkDataStatById(String id);

    /**
     * @Title:queryList
     * @Description:查询列表
     * @date: 2023-12-18 10:13:46
     * @params: mkPrPfOutageLinkDataStatAo 查询条件
     * @return：List<MkPrPfOutageLinkDataStatVO>
     */
    List<MkPrPfOutageLinkDataStatVO> queryList(MkPrPfOutageLinkDataStatAO mkPrPfOutageLinkDataStatAo);

    /**
     * @Title:getMkPrPfOutageLinkDataStatListPage
     * @Description:查询指定行数据
     * @date: 2023-12-18 10:13:46
     * @params: mkPrPfOutageLinkDataStatAo 查询条件
     * @return：List<MkPrPfOutageLinkDataStatVO>
     * @throw：
     */
    List<MkPrPfOutageLinkDataStatVO> getMkPrPfOutageLinkDataStatListPage(MkPrPfOutageLinkDataStatAO mkPrPfOutageLinkDataStatAo);

    /**
     * @Title:getMkPrPfOutageLinkDataStatTotal
     * @Description:统计总行数
     * @date: 2023-12-18 10:13:46
     * @params: mkPrPfOutageLinkDataStatAo 查询条件
     * @return：int
     * @throw：
     */
    int getMkPrPfOutageLinkDataStatTotal(MkPrPfOutageLinkDataStatAO mkPrPfOutageLinkDataStatAo);

    /**
     * @Title:insertMkPrPfOutageLinkDataStat
     * @Description:新增数据
     * @date: 2023-12-18 10:13:46
     * @params: mkPrPfOutageLinkDataStatVo 实例对象
     * @return：int 影响行数
     * @throw：
     */
    int insertMkPrPfOutageLinkDataStat(MkPrPfOutageLinkDataStatVO mkPrPfOutageLinkDataStatVo);

    /**
     * @Title:insertBatch
     * @Description:批量新增数据（MyBatis原生foreach方法）
     * @date: 2023-12-18 10:13:46
     * @params: entities List<MkPrPfOutageLinkDataStat> 实例对象列表
     * @return：int 影响行数
     * @throw：
     */
    int insertBatch(@Param("entities") List<MkPrPfOutageLinkDataStatBO> entities);

    /**
     * @Title:insertBatch
     * @Description:批量新增或按主键更新数据（MyBatis原生foreach方法）
     * @date: 2023-12-18 10:13:46
     * @params: entities List<MkPrPfOutageLinkDataStat> 实例对象列表
     * @return：int 影响行数
     * @throw：org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常，请自行校验入参
     */
    int insertOrUpdateBatch(@Param("entities") List<MkPrPfOutageLinkDataStatBO> entities);

    /**
     * @Title:updateMkPrPfOutageLinkDataStat
     * @Description:修改数据
     * @date: 2023-12-18 10:13:46
     * @params: mkPrPfOutageLinkDataStatVo 实例对象
     * @return：int 影响行数
     * @throw：
     */
    int updateMkPrPfOutageLinkDataStat(MkPrPfOutageLinkDataStatVO mkPrPfOutageLinkDataStatVo);

    /**
     * @Title:deleteMkPrPfOutageLinkDataStat
     * @Description:通过主键删除数据
     * @date: 2023-12-18 10:13:46
     * @params: id
     * @return：int 影响行数
     * @throw：
     */
    int deleteMkPrPfOutageLinkDataStat(String id);

}
